l = [1,2,-44,1,2,1,2,3,-123,12,12,3,123,123,123,44,45,3,12,456,65,7,678,3,324,234,1,1123]
l = sorted(l)
print(l)
# key 指定一个函数  自定义排序规则
l = sorted(l,key=abs)
print(l)

l = sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower)
print(l)

# 要进行反向排序，不必改动key函数，可以传入第三个参数reverse=True：
l = sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower,reverse=True)
print(l)


#练习 假设我们用一组tuple表示学生名字和成绩：
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]

print(L)

def by_name(t):
    return t[0].lower()

L2 = sorted(L, key=by_name)
print(L2)

# 再按成绩从高到低排序：

def by_score(t):
   return t[1].lower()

L2 = sorted(L, key=by_score)

print(L2)